package com.finance.system.request;

import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.math.BigDecimal;

/**
 * @Author: gly
 * @Date: Created in 2017-05-18
 */
@Data
public class LogisticsReq {

    //应揽收时间
    private String acceptScheduled;

    //是否完成初次入库(是否已揽收 1是0非)
    private Integer accept;

    //第一次入库时间
    private String acceptTime;

    //是否完成出库(1是0非)
    private Integer warehouseOut;

    //第一次出库时间
    private String warehouseOutTime;

    //是否到配送站点(1是0非)
    private Integer siteIn;

    //最近一次到站时间
    private String siteInTime;

    //是否已领货配送
    private Integer siteOut;

    //领货时间
    private String siteOutTime;

    //承诺送达时间
    private String signTimePromised;

    //运单号
    @NotBlank(message = "运单号不能为空")
    private String waybillNum;

    //订单号
    @NotBlank(message = "订单号不能为空")
    private String businessCode;

    //省份编码
    private String provinceConsignee;

    //地级市编码
    private String cityConsignee;

    //县级单位编码
    private String countyConsignee;

    //收件地址
    private String addressConsignee;

    //收件人手机号
    private String mobileConsignee;

    //运单配送类型(枚举 0配送 1上门换 2上门退)
    private Integer direction;

    //运输温度等级 (枚举 0常温 1生鲜冷链)
    private Integer temperature;

    //配送时效要求 (枚举 0未知 1当日达 2次晨达 3三日达 4工作日 5节假日 6夜间配 7上午达 8下午达)
    private Integer expressScheduleType;

    //包裹大小规格 (枚举 0未知 1小件 2大件)
    private Integer packageSize;

    //是否是贵品 (枚举1是0非)
    private Integer expensive;

    //包裹重量(单位g)
    private BigDecimal weight;

    //包裹体积(单位立方厘米)
    private String volume;

    //包裹长度(单位厘米)
    private String length;

    //包裹宽度(单位厘米)
    private String width;

    //包裹高度(单位厘米)
    private String height;

    //运单来源(0系统接入 1手工导入)
    private Integer importSource;

    //供货商编码
    private String supplierCode;

    //供货商发货仓库
    private String supplierWarehouse;

    //收件人姓名
    private String nameConsignee;

    //代收货款
    private String cod;

    //代退货款
    private String codBack;

    //订单价格
    private String orderAmount;

    //发货数量
    private String sendNum;

    //配送员工号
    private String postmanNo;

    //晕倒导入机构
    private String orgcodeAccept;

    //货物当前机构编码
    private String orgcodeCurrent;

    //货物实际配送站点编码
    private String orgcodeDelivery;

    //预分拣匹配的站点编码
    private String orgcodeTarget;

    //配送状态( 0配送中 1成功 2失败)
    private Integer status;

    //运单流转节点(000系统导入 001人工导入)
    private String nodeCurrent;

    //运单签收时间
    private String signTime;

    //保费 运单担保收益 一般为保价乘以费率
    private String guaranteeFee;

    //本人签收(1是0非)
    private Integer signer;

    //供货商备注
    private String businessRemark;

    //运单备注
    private String remark;
}
